using System;
using System.Collections.Generic;

namespace Daniel.Core.Models
{
    public partial class Customer
    {
        public Customer()
        {
            this.ActivityLogs = new List<ActivityLog>();
            this.BackInStockSubscriptions = new List<BackInStockSubscription>();
            this.BlogComments = new List<BlogComment>();
            this.ExternalAuthenticationRecords = new List<ExternalAuthenticationRecord>();
            this.Forums_Post = new List<Forums_Post>();
            this.Forums_Subscription = new List<Forums_Subscription>();
            this.Forums_Topic = new List<Forums_Topic>();
            this.Logs = new List<Log>();
            this.NewsComments = new List<NewsComment>();
            this.Orders = new List<Order>();
            this.PollVotingRecords = new List<PollVotingRecord>();
            this.Forums_PrivateMessage = new List<Forums_PrivateMessage>();
            this.Forums_PrivateMessage1 = new List<Forums_PrivateMessage>();
            this.ProductReviews = new List<ProductReview>();
            this.ReturnRequests = new List<ReturnRequest>();
            this.RewardPointsHistories = new List<RewardPointsHistory>();
            this.ShoppingCartItems = new List<ShoppingCartItem>();
            this.CustomerRoles = new List<CustomerRole>();
            this.Addresses = new List<Address>();
        }

        public int Id { get; set; }
        public System.Guid CustomerGuid { get; set; }
        public string Username { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public int PasswordFormatId { get; set; }
        public string PasswordSalt { get; set; }
        public string AdminComment { get; set; }
        public bool IsTaxExempt { get; set; }
        public int AffiliateId { get; set; }
        public int VendorId { get; set; }
        public bool HasShoppingCartItems { get; set; }
        public bool Active { get; set; }
        public bool Deleted { get; set; }
        public bool IsSystemAccount { get; set; }
        public string SystemName { get; set; }
        public string LastIpAddress { get; set; }
        public System.DateTime CreatedOnUtc { get; set; }
        public Nullable<System.DateTime> LastLoginDateUtc { get; set; }
        public System.DateTime LastActivityDateUtc { get; set; }
        public Nullable<int> BillingAddress_Id { get; set; }
        public Nullable<int> ShippingAddress_Id { get; set; }
        public virtual ICollection<ActivityLog> ActivityLogs { get; set; }
        public virtual Address Address { get; set; }
        public virtual Address Address1 { get; set; }
        public virtual ICollection<BackInStockSubscription> BackInStockSubscriptions { get; set; }
        public virtual ICollection<BlogComment> BlogComments { get; set; }
        public virtual ICollection<ExternalAuthenticationRecord> ExternalAuthenticationRecords { get; set; }
        public virtual ICollection<Forums_Post> Forums_Post { get; set; }
        public virtual ICollection<Forums_Subscription> Forums_Subscription { get; set; }
        public virtual ICollection<Forums_Topic> Forums_Topic { get; set; }
        public virtual ICollection<Log> Logs { get; set; }
        public virtual ICollection<NewsComment> NewsComments { get; set; }
        public virtual ICollection<Order> Orders { get; set; }
        public virtual ICollection<PollVotingRecord> PollVotingRecords { get; set; }
        public virtual ICollection<Forums_PrivateMessage> Forums_PrivateMessage { get; set; }
        public virtual ICollection<Forums_PrivateMessage> Forums_PrivateMessage1 { get; set; }
        public virtual ICollection<ProductReview> ProductReviews { get; set; }
        public virtual ICollection<ReturnRequest> ReturnRequests { get; set; }
        public virtual ICollection<RewardPointsHistory> RewardPointsHistories { get; set; }
        public virtual ICollection<ShoppingCartItem> ShoppingCartItems { get; set; }
        public virtual ICollection<CustomerRole> CustomerRoles { get; set; }
        public virtual ICollection<Address> Addresses { get; set; }
    }
}
